package com.wh.wisdomsite.xbox.common.session;


/**
 * 定义会话管理器接口
 * @Package com.wh.wisdomsite.xbox.common.session
 * @author 谢泽鹏
 * @date 2014年10月8日 下午4:02:14
 * @Copyright 个人版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2014
 * @version V1.0
 */
public interface SessionManager {

    /**
     * 添加系统会话
     * @param sessionId  会话标识
     * @param session    会话对象
     */
    void addSession(String sessionId, Session session);

    /**
     * 添加系统会话
     * @param sessionId  会话标识
     * @param session    会话对象
     * @param attrKey    session中存储的key值
     */
    void addSession(String sessionId, Session session, String attrKey);


    /**
     * 添加系统会话
     * @param sessionId  会话标识
     * @param session    会话对象
     * @param expiredTime  失效时长秒
     */
    void addSession(String sessionId, Session session, int expiredTime);

    /**
     * 添加系统会话
     * @param sessionId  会话标识
     * @param session    会话对象
     * @param expiredTime  失效时长秒
     * @param attrKey    session中存储的key值
     */
    void addSession(String sessionId, Session session, int expiredTime, String attrKey);

    /**
     * 获取系统会话
     * @param sessionId 会话标识
     * @return
     */
    Session getSession(String sessionId);


    /**
     * 删除系统会话
     * @param sessionId 会话标识
     * @return
     */
    void removeSession(String sessionId);


    /**
     * 获取其他会话
     * @param sessionId
     * @return
     */
    Session getOtherSession(String sessionId);

    /**
     * 添加其他会话
     * @param sessionId
     * @param session
     * @param expiredTime
     */
    void addOtherSession(String sessionId, Session session, int expiredTime);


    /**
     * 删除其他会话
     * @param sessionId 会话标识
     * @return
     */
    void removeOtherSession(String sessionId);
}

